home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 1 (Walnut Creek)
/
Aminet - June 1993 [Walnut Creek].iso
/
aminet
/
util
/
misc
/
qvedit.lha
/
qvedit.doc
< prev
next >
Wrap
Text File
|
1992-08-21
|
19KB
|
385 lines
----------------
Q V E D I T v1.0
----------------
0. Grovel
QVEDIT is SHAREWARE. If you like it, and intend to use it, then dig deeply
into your pockets and send a tenner+ to me (address at the end). This will
give you the privelege of being a registered user, and you will recieve the
upgrade as soon as it's ready. If you'd like to be a tester, please let me
know, and any feedback on V1.0 would be good as well. QVEDIT is (C) 1992
Julian Gold.
1. Introduction.
Well, I hear you ask, just what is QVEDIT when it's at home in front of
the fire warming its little toes? The simple answer is, that it's a patch
editor for the Alesis QuadraVerb Plus digital effects processor. If you
are still none-the-wiser, then perhaps this software isn't for you (but
by all means have a play!). However, if you're still with me, then good.
This little baby, weighing a mere 155K, will take all those programming
nightmares away when you want to write a patch for the QuadraVerb. Instead
of straining eyes/back/fingers prodding away at buttons with an LCD screen
with a view, you can now strain your eyes/back/fingers clicking away at
Ami instead. It's a whole new dimension of physico-mental suffering. But
seriously, writing patches for modern-day synths is no joke unless you
have a patch editor (or you're kinky about weeny LCD displays). QVEDIT
will allow you to:
o See ALL the relevant parameters at once without having to flick up
and down pages.
o Edit all the important parameters in a consistent and (relatively!)
user-friendly way. The changes you make can either be sent in (nearly)
real time, or in one go.
o Send, recieve, save and load whole data dumps or individual patches
from the QuadraVerb.
o Locate patches with particular properties.
o Test the current patch with a sound form either the Amiga or a MIDI
source.
o Produce hardcopy of all or some parameters.
Interested? Read on...
2. Getting Started
In order to use QVEDIT to it's full, I recommend the following set-up:
o An Amiga running Workbench 1.3 or 2.0x. I've no idea how it will react
to 1.2 ROM's, most probably unfavourably. As for the beige one, I think
it should run on all models, though the A1000 is another question. I
would recommend 1 Meg of RAM minimum, the program requires a few large
arrays to hold your precious data.
o A MIDI interface of some description, any will do, but I like the ones
with flashing lights that let you see data transfers. So, connect your
MIDI cables (we need both in and out) up, and go to Old Kent Road...
o An Alesis QuadraVerb Plus. I don't know what will happen if you try to
use QVEDIT on a vanilla QuadraVerb or (more ambiguously) a QuadraVerb
GT. I suspect some of it will still function rather normally. If you
would be interested in a version for the GT, then write to me and ask
nicely. I may well entertain that concept. If you have none of these
bits of hardware, you can still use QVEDIT, though I would describe the
potential for doing anything useful with that setup as limited.
Good, now with that hardware checklist out of the road, here's the
software you'll need:
o MIDI.library V1.0. Yes, I know there are later versions, but QVEDIT
was designed using V1.0 because my other patch editors choked on
later versions. MIDI.library is (C) Pregnant Badger Software. Stuff
this into your LIBS: directory.
o ASSIGN the logical (yeek! VMS-talk) QV: to the directory you've put
QVEDIT in. Otherwise, Workbench won't know what to do when you start
QVEDIT from a dump icon. Oh, I apologize for the gratuitous use of the
word "dump" throughout the software and documentation. It bears no
relation to a natural function of most creatures, but is a MIDI term
that has few synonyms. Anyway, put your ASSIGN in your startup-sequence
(WB 1.3) or user-startup (WB2.0x) for keeps.
That's about it. QVEDIT uses a startup file called qv.config, but it will
use default values if this can't be found, and anyway, at this point in
the software's history, it contains only a few less-than-vital pieces of
information such as screen colours. In the next release of QVEDIT (a few
months hence-it will probably contain a lot of information pertaining to
an upgraded test window, edit window positions and the like). Anyhow,
relax, the startup file will be automatically created when you quit. You
can have as many of them as you wish and load them at any time using the
Misc menu, but that's just icing on the cake right now.
3. Running and using QVEDIT.
Choose your weapons, Workbench or CLI.
3.1 Workbench
From Workbench, you can run it either by double-clicking on the QVEDIT
icon, or on a *DUMP* file icon (note emphasis!) stored somewhere. Patch
file icons can be used to start QVEDIT, but they won't be loaded. You can
also use the extended-select method: click on a dump file icon, hold down
SHIFT, double-click the QVEDIT icon.
If you chose to (try) to load a dump file, then QVEDIT will do its best to
do so. Dump and patch files are written with ID headers to make sure you
don't load any old rubbish, so if QVEDIT loads, thinks about it, then
quits, chances are you've got a corrupt or non-existent dump file. If in
doubt, there is an example dump file called qv.dump in the archive.
If you just double-clicked on the QVEDIT icon, you'll get a window telling
you a lot of tosh about QVEDIT and my good self. Click on my name for more
hot air. There are two big buttons down the bottom of the window which
allow you to opt for either loading a file from DOS or sucking the data
from your QuadraVerb. You must do one or the other, if either fails you
will be returned to where you started. The LOAD FILE option brings up a
file requester which should be sort of familiar. Click in the DIRECTORY
string gadget and press RETURN to get a listing of all files that match
the current pattern. You get the idea...
If you chose to get a dump from the QuadraVerb, you will be prompted to
select the MIDI channel that it recieves on. (This is so that the Real-time
edit option sends program change messages on the correct channel!). This
channel is saved in the startup file. Use the up or down arrows to increase
or decrease the channel (you can't type a number in because, due to a
feature of Intuition, string gadgets trash other imagery. Click on OK, and
the program will try to suck data from the QuadraVerb.If the program can't
locate the QuadraVerb after you asked for a dump, you'll get a requester
that allows you to either exit or retry again. Check your wiring if this
happens! Finally, should you wish to abort the dump, hit 'C'.
{ASIDE:
In fact I used Peter da Silva's STDFILE requester,or at least is 99.9% his
- I had to modify it in places to compile under Lattice (some of the bugs
made me wonder how it, V2.0, ever compiled at all). I avoided using
Commodore's asl.library requester for two reasons:
(1) Not everyone has a 2.0x machine with asl.library.
(2) I don't have a smegging clue how to call it.
Future versions may utilise it if available and the new Libraries
documentation surface.
I also avoided using the arp.library requester because I lost a header
file and found STDFILE before I could find that. STDFILE is (C) Peter da
Silva.}
3.2 CLI usage.
Staring at the CLI prompt, if you type qvedit -h then you should get a
list of the options:
qvedit -l <dumpfile> to load a dumpfile at startup.
qvedit -d to get a dump from the QuadraVerb
qvedit -h to remind you of the above.
qvedit on its own will start with the big "About" window mentioned above.
3.3 Onwards...
OK, by this point a dump file should have found its way into RAM by hook
or by crook. You should see a cute little requester-like window with a
scroll bar and a few gadgets. This is the PATCH SELECT window. You can
scroll up and down using the slider to see the names of all 100 patches.
Double-clicking a patch will select that patch to be the current one;
otherwise a single click on the patch followed by either <RETURN> or a
click on the OK gadget on the bottom right will do similarly. The two
arrow gadgets under the slider move you up and down the list by 1. Other
useful keys are:
T - move the the top of the list (ie patch 99)
B - move to the bottom of the list (ie patch 00)
M - move to the middle of the list (patch 50)
0 to 9 - move to patch starting with that digit.
Clicking on the close gadget returns you to the current patch which
defaults to 0.
Now the main window opens. It looks superficially like a QuadraVerb but
isn't meant to replicate the functions exactly. The current patch name
appears in the backdrop window, top left; along from that is the program's
current status; and along from that the configuration of the current
patch.
IMPORTANT: all the menus and keypress options are linked to this window.
In order for these to function THIS WINDOW MUST BE ACTIVE. No, it is not
a bug, though I think "feature" suits the occasion.
Each of the QuadraVerb's edit pages can be displayed as windows,
so you can view all your reverb parameters (say) at once. There are
various ways to obtain these edit windows:
(1) Type a letter:
r for reverb
d for delay
p for pitch
e for EQ
m for mix
o for mod.
(2) Menu: go to the edit menu, and select an item. If an item is ghosted,
it isn't available in that configuration. You'll also see a command
sequence to obtain the same effect.
(3) Click on a button in the main panel window.
If the page does not appear in the current configuration, nothing will
happen. If it does, and the window is not open, then it will be opened
(surprise!). If it is open, then it will be pushed to the front. The
windows can be opened, closed and depth-sorted at will. Note that
when you change program, all the function windows are closed. Don't worry,
no changes will be lost. A dot after the name shows that patch has been
modified.
3.4 Program Selection.
There are several ways to access any of the 100 patches as well. The Patch
Selector window can be brought up at any time by menu, Right Amiga-E, or
clicking the PROG button on the edit panel. Clicking on the two white
arrows move up or down to the next/previous patch - this is replicated by
the up and down arrow keys, with the additional twist that holding down
shift when you press the key moves you up or down in jumps of 10. Typing
a numeral moves you to the patch starting with that digit (so 3 selects
patch 30). T and B move you to the top or bottom of the list.
3.5 Editing values.
To edit a value, click on it! An edit window will pop up, with a slider
and two arrow keys, and a display showing the current value. Despite its
appearance, this is not a string gadget, software to parse every possible
parameter value would take a good few K more, and I don't want the code
to grow excessively. Instead, use the gadgets as makes sense: the slider
to make large changes, the arrows small changes - a quick click changes by
1 unit, click and hold will scroll up or down after a short pause. When
satisfied, click on OK or select CANCEL to abort that edit. If you click
OK and the value has changed, ALL open edit windows will be refreshed
(because some parameters affect other windows). Note that edit requests
are queued up, so if you click on another parameter after the edit window
appears, it will be edited AFTER the current edit. It's probably bad news
to deliberately do this, Intuition might not like it if RAM is in short
supply.
There are 2 parameters handled differently to the majority - Name and
Configuration. A patch name is changed by activating the string gadget
with the program name on it on the control panel (either by clicking or
choosing NAME from the EDIT menu). To change the current patch
configuration, you must use the CONFIG >> sub-menu on the EDIT menu. The
current configuration is ticked. If you change this, all the edit windows
will close.
4. Menus
Many of QVEDIT's functions can be replicated by hotkeys. However, there
are several commands deliberately left without command sequences because
they involve pretty heavy changes to your edited data or the Quad itself
(or it's a trivial-ish function like change the screen colours). Anyhow,
here's a guide to the options available on Menu.
4.1 Project
From here, you can load or save both whole data dumps or individual
patches (later versions of QVEDIT will allow you to save blocks of
patches). The SAVE <?> AS... options will pop up a friendly file
requester, the SAVE option will only work if you've already saved a dump.
The LOAD/SAVE PATCH functions relate to the CURRENT patch.
The ABOUT entry gives you the good old blurb window, click OK to get rid
of it. QUIT - I'll leave you to figure that out :-) One point to bear in
mind - the QuadraVerb transmits its data in a special packed format which
QVEDIT decodes. It is the PACKED data that is saved as a DUMP, but
patches are stored as UNPACKED data.
4.2 Midi
This menu controls information coming from and going to your black beauty
(it's OK, you don't need a horse...).
GET DUMP & PUT DUMP will receive/send a whole data dump (100 patches)
from/to the QuadraVerb. These are heavy options, and so an Are You Sure
requester pops up before they execute. WARNING! You can inadvertantly
destroy all your QuadraVerb patches with PUT DUMP. I take no
responsibility for this happening, you're the one holding the mouse...
A dump takes about 5 or 6 seconds on my machine. During this time, your
machine will "lock up" - don't worry, this is because the midi.library
routines run at a higher priority than the input.device. Normal service
is resumed as soon as the dump has taken place.
GET/PUT PATCH pops up a little requester. The requester has several
gadgets which allow you to select the source and destination patches.
You can click on the number and type in your own digits, or use the
cluster of up/down arrows to change up or down by 1. Once happy (or
not), click OK (or CANCEL). Transfer is pretty quick.
REAL-TIME EDIT allows you to change parameters on the QuadraVerb when
you accept them in the program. Hence, clicking on OK will send the
new value straight to the effects unit. Be careful with this option. In
order for you to be aware of its presence, "MIDI Editing" will appear
in the title bar status display. To turn it off, select it again.
4.3 Edit
This gives menu/hotkey access to the edit windows, the patch requester
and the ability to change the configuration of the current patch. There's
also a CLEAR option which closes all the open edit windows.
4.4 Misc
This really is a miscellany of functions! First up is the (for now)
trivial LOAD PREFS... which brings up the inevitable file requester.
Handy if you get sick of the colours half-way through an edit :-)
Next we have COLOURS... the (almost as) familiar colour editor. Play
about as you please, the colours I chose were motivated by my nice
8-colour Workbench and the QuadraVerb itself.
Rather more of use is the TEST... requester. With this, you can send an
audio signal to the QuadraVerb either from the Amiga itself or from a MIDI
instrument appropriately connected. (Note: in V1.0, it isn't easy to
change a sound by real-time edit and hear the difference immediately.
The next release will cure this). Click on the LED-thingys to select the
various options, select a MIDI channel (string gadget or arrows) or a
sine/square wave from Ami (click on AMIGA and then on SINE or SQUARE).
A small icon on the right shows you what the sound source is to resolve
ambiguity. To hear a noise,click and hold the big green ball in the centre.
The sound stops on release. To change the note, type in a note in the
gadget left of the slider, or use the slider to change to a note in the
3-octave range. Finally, click on OK to get rid of the window.
Also jolly useful is the FIND... option. Up pops a requester which allows
you to find a particular type of patch. Click on an LED to select the
appropriate target and then click FIND to find the first one, or FIND
NEXT to er, find the next one, or CANCEL to forget it completely. There's
also a NAME PATTERN MATCHING option. To use this, click on the LED (it
won't work unless you do this!) then type the pattern. The pattern uses
AmigaDOS wildcards, ie #? to match anything, ? to match a single
character, | to do a this OR that match, % for no string at all,etc. Now
PRESS <RETURN>. Failure to do so will cause failure of the find, because
the pattern must be pre-processed on <RETURN>. In essence, nothing will
happen till you re-select the pattern and hit <RETURN>!
Last but not least is PRINT. Selecting this will gave you a printout of
the parameters in the OPEN edit windows: none open, no data except a name.
Of course, this presumes you have a printer!
5. Problems and Shortcomings.
No program is without problems, QVEDIT is no exception. Here's a list of
some things to watch out for (and if you have an idea what's happening
please let me know!).
o The "double dump" problem. Sometimes you have to GET DUMP twice before
anything changes within QVEDIT. Probably due to some MIDI snag-up
because the Amiga's serial port is being pushed quite hard to accept
the large (14K+) volume of data from a dump.
o The "spurious data value" problem. If you change (say) delay mode from
mono to stereo, you can get bizarre values for the delay time. I can't
say I'm pleased with this bug, it should be easy to crack but isn't.
However, it IS easy to remedy : just edit the right value in!
o The "lost bytes" problem. RAM creep of an unusual nature, it happens
only the first time the program is loaded. 512 bytes vanish. Odd number,
huh? After that things seem fine. I'm pretty sure I've closed all the
crap I opened, and have free()'d all I've malloc()'d so perhaps the
problem's elsewhere? Or maybe it's a fragmentation thing? Ideas on a
postcard...
These are the only ones I can recall as persisting. Because the QV has so
many possible combinations of functions and modes, it is impossible to
test them all in a finite lifetime. So if you see strange values for
parameters (especially in connection with ducks), please let me know. And
of course, any other bugs, or anything you'd like to see implemented
that's not, or is but could be better...
It's been mostly fun writing QVEDIT. I've been hampered by a number of
grotesque inaccuracies in the QuadraVerb MIDI implementation document I
obtained (if you're interested, I can send you a copy with the correct
stuff on it), and it's been nearly 8 weeks of nearly solid coding. It's
been a learning experience, etc. I will be having a break for a few weeks,
then getting back down to writing the next upgrade. It's tough at the
top...
Well, that's about it. All I can say is "happy editing", and I look
forward to receiving some dosh and feedback :-)
Julian Gold,
c/o 29 High Street, Chesterton,
Cambridge,
UK.